1. Field of the Invention
The present invention relates to an information processing apparatus which controls print processing for a printer on the basis of a print instruction from an application, a control method therefor, and a program.
2. Description of the Related Art
When printing, from an application, a file such as a document or graphics created on a computer, the printer driver is generally used to convert rendering data into a printer language and transmit the converted data to a printer. The user makes print settings such as the paper type, double-sided printing, color, and paper source via a user interface provided by an application or printer driver. The print settings are transmitted as a command to a printer.
The result of processing executed by an application is sometimes transmitted in print settings to a printer driver or printer. For example, the application executes imposition layout processing for booklet printing, and the printer executes saddle stitching. To execute saddle stitching, the printer driver or printer generally performs imposition layout processing for booklet printing.
The printer driver or printer often adopts inhibition processing which inhibits designation of saddle stitching unless imposition layout processing for booklet printing is executed. Thus, if the application executes imposition layout processing for booklet printing, imposition layout processing is executed twice by the application and printer, or no saddle stitching is performed. As a popular measure against this, it is described in print settings that the application has already completed imposition layout processing for booklet printing. The printer driver or printer executes only saddle stitching on the basis of the print settings.
When the application designates N-up printing (to reduce a plurality of pages into one page and print), the printer driver or printer is sometimes to count the number of document pages actually laid out on one sheet. Also in this case, it is general to describe, in print settings, the number of document pages actually laid out on one sheet by the application.
Print setting data take two formats: a DEVMODE structure which is a conventional binary format, and a job ticket or Print Ticket which is an XML format in a markup language. The latter format allows more freely expanding data and changing descriptions. Print Ticket makes it easier to describe not only print settings but also the result of processing executed by an application.
By exploiting the feature of Print Ticket, a banner (application banner) generated by an application is generally defined. The banner is used as a break between print data. One banner is added to the start of a print job by an OS, printer driver, or printer, and printed. The banner mainly describes the name of a user who has generated a print job, the time, and the like. The banner is used as a break page (banner page) to prevent mixture of print jobs in a printer or the like shared between a plurality of users.
It should be prevented to enable the finishing and layout functions for a banner page together with data of the remaining pages of a print job. For example, if a banner page is stapled together with the remaining pages of a print job, the unnecessary banner page is attached as a cover though the user wants to staple only the pages of data of the actual print job. If imposition layout processing for booklet printing is executed for the pages of a print job including a banner page, the page order shifts by one page from a page order the user intends. The banner page is used as merely a break between print jobs, and only inserted between jobs. The form of a conventional banner page is described in, for example, Japanese Patent Laid-Open No. 2002-328786.
When generating a banner page by an OS, printer driver, or printer, data available as the banner page is only a small amount of information such as the user name and job name. In practice, an application which generates a print job has a large amount of information. When the application generates a banner page, a banner page using a large amount of information can be generated.
As described above, the finishing and layout functions need to be disabled for a banner page. If it can be declared that a page designated in print settings is a banner page, the printer driver and printer can recognize the banner page. In this case, the application can generate a banner page, that is, application banner. Print Ticket defines this as JobPrimaryBannerSheet in Microsoft Windows® (Print Schema Specification: see the website at microsoft.com in the subdirectory printschema.mspx in the subdirectory xps in the subdirectory whdc).
JobPrimaryBannerSheet can be selected from three choices: Standard (add a banner by a printer), Custom (use a page designated by an application as a banner), and None (add no banner). When Custom is designated, a page serving as a banner page needs to be explicitly described in Print Ticket. Since a page generated by an application can be described in Print Ticket so that the page can be regarded as a banner page, an application banner can be implemented.
However, the above-mentioned conventional technique provides a banner function of generating a banner page by an application or printer, but does not propose a banner function of generating a banner page by a printer driver. Since Print Ticket allows freely expanding a function, a banner function for the printer driver can be uniquely added. However, if the banner function is uniquely expanded, an application, another printer driver, and a printer cannot recognize it.
From this, Microsoft Windows Vista has introduced an XPSDrv printing system which is a new printer driver architecture. In the XPSDrv printing system, an XPS file, which is also used as a document file format, is used as the spool format of a print job. The XPS file is a file format used as a document file as well. Thus, if the printer driver itself adds a banner, an application and another printer driver cannot recognize the banner upon opening an XPS file. The banner is finished and laid out together with the pages of a print job.